package main

import "fmt"

/**
指针数组
	指针数组指的是数组元素全是指针
	指针的数组
*/
func main() {
	//定义指针数组
	var nums [10]*int
	/**
	定义变量，将变量的值，赋值给指针数组
	*/
	var a int = 10
	var b int = 20
	nums[0] = &a
	nums[1] = &b
	fmt.Println(nums) //	[0xc0000140a8 0xc0000140c0 <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil>]只有两个有地址，其他都是空

	fmt.Println(nums[0]) //这里打印的是地址
	fmt.Println(nums[1])
	//这里应该是从指针数组中拿到值，然后再输出，所以不需要添加方括号()
	fmt.Println(*nums[0])

	//这里也是后面8个为空，走两个就报错了
	for i := 0; i < len(nums); i++ {
		fmt.Println(*nums[i])
	}
	fmt.Println("----------------------------------------------")
	for i, v := range nums {
		fmt.Println(i)  //索引的值
		fmt.Println(*v) //拿到具体的值，后面有8个为空，所以会报错
	}

}
